package com.gitee.dprecated.observer;

import org.springframework.stereotype.Component;

/**
 * 商品订单状态转化与处理 具体观察者类
 * 观察者类：观察者类只有一个工作就是 接收通知
 *
 * @author acao
 * @since 2023-11-07 09:56
 */
@Component
public class OrderObserverImpl extends AbstractOrderObserver {

    @Override
    public void notifyPayState(String orderId, OrderStateEnum orderStateEnum) {
        if (orderStateEnum == OrderStateEnum.ORDER_WAIT_PAY) {
            //通过命令模式进行后续处理
            System.out.println("监听到 ：订单创建成功。通过命令模式做后续处理。");
        } else if (orderStateEnum == OrderStateEnum.ORDER_WAIT_SEND) {
            //通过命令模式进行后续处理
            System.out.println("监听到 ：订单已支付。通过命令模式做后续处理。");
        } else if (orderStateEnum == OrderStateEnum.ORDER_WAIT_RECEIVE) {
            //通过命令模式进行后续处理
            System.out.println("监听到 ：订单已发货。通过命令模式做后续处理。");
        } else if (orderStateEnum == OrderStateEnum.ORDER_FINISH) {
            //通过命令模式进行后续处理
            System.out.println("监听到 ：订单已签收。通过命令模式做后续处理。");
        }
    }
}
